Large-scale packet switches can be built in a scalable fashion from smaller switching elements by connecting the switching elements according to the interconnection pattern of a given network topology. Examples of such network topologies are Folded Clos networks (also called k-ary n-trees), Torus (also called k-ary n-cubes) and “RPFabric topologies” such as those topologies disclosed in PCT/GB2016/051127. These network topologies are hierarchical in nature, meaning that a given implementation of the topology having L tiers or dimensions can be extended (scaled) by adding another tier or dimension to the topology, in such a fashion that the larger (L+1) dimension topology includes a number of identical L-dimensional sub-topologies that are interconnected by the (L+1)th dimension in a recursive fashion.
For an important class of topologies, the maximum scale (i.e. the maximum number of endpoints or nodes) supported by the topology is determined by the radix (i.e. the number of ports) of the constituent switching elements. This is true for e.g. Folded Clos and RPFabric topologies, but not for Torus topologies. Consequently, for topologies in this class, the factor by which the maximum scale of a given topology increases when adding a dimension is also determined by the radix of the switching elements.
It may be preferable and moreover economically advantageous to implement a given network topology using switching elements that are identical. This enables important economies of scale, as the individual switching element is generally implemented as an ASIC which is costly to design, manufacture and test. Requiring different ASICs to build a switch fabric would multiply the associated monetary and temporal costs.
As mentioned above, an example of a known network topology is a Folded Clos topology. In an L-dimensional Folded Clos topology made up of switching elements having a radix R, the maximum number of endpoints is given by:
  N  =      2    ⁢                  (                  R          2                )            L      
Similarly, an RPFabric topology having L dimensions has a maximum number of endpoints given by:
  N  =            ⌊              R                  L          +          1                    ⌋        ⁢          R      L      
Correspondingly, adding a dimension increases the maximum scales of Folded Clos and RPFabric topologies by a factor of R/2 and R respectively. Depending on the target scale for a specific instantiation, this granularity may be too coarse, in the sense that the maximum scale for L dimensions may be just too small for the target size, whereas the maximum scale for (L+1) dimensions may be much too large. For example, consider a situation where N=8,000 endpoints are required. First, consider the case of an RPFabric topology with R=24 and L=2. The maximum scale in this case is 8×242=4,608 endpoints, which is clearly too small. Adding an extra dimension leads to a network with a maximum scale of 6×243=82,944, which is greater than an order of magnitude too large, and therefore highly wasteful.
This problem can be addressed by not fully populating some of the dimensions. For instance, in the example set out above, it would be possible to populate just two of the 24 possible two-dimensional sub-topologies of the three-dimensional network. This leads to topologies where the sizes or cardinalities of the dimensions may vary, thus providing finer granularity in scaling the size of the network. This principle can be applied to a single dimension, or to multiple dimensions. However, it is preferable to apply this approach to scale down an (L+1)-dimension network to sizes that are larger than what the same topology can support with L dimensions. Otherwise it would be more economical to use an L-dimensional network instead. This approach can still incur some inefficiency: because the switching elements all have the same radix R, the switching elements belonging to a scaled-down dimensions have unconnected ports.